# docker volume

管理卷,包括创建create,删除rm,列表ls,查看inspect,移除prune

# 1 卷命令汇总

  • docker volume create
  • docker volume rm
  • docker volume ls
  • docker volume inspect
  • docker volume prune

# 2 卷命令详解

# 2.1 docker volume create
  • 格式

    # docker volume create [OPTIONS] VOLUME
    docker volume create my_data_vol
    
    docker run -d -v my_data_vol:/world busybox ls /world
    
    docker volume create --driver fake \
    --opt tardis=blue \
    --opt timey=wimey \
    my-volume
    
    docker volume create --driver local \
    --opt type=tmpfs \
    --opt device=tmpfs \
    --opt o=size=100m,uid=1000 \
    my-volume
    
    docker volume create --driver local \
    --opt type=btrfs \
    --opt device=/dev/sda2 \
    my-volume
    
    docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.1.1,rw \
    --opt device=:/path/to/dir \
    my-volume
    
  • 选项

    1. -d, --driver 指定卷的驱动名称,默认local
    2. --label
    3. --name
    4. -o,--opt
# 2.2 docker volume rm

移除一个或多个卷

  • 格式

    #docker volume rm [OPTIONS] VOLUME [VOLUME...]
    docker volume rm my-volume
    
  • 选项

    1. -f,--force 强制移除一个或多个卷
# 2.3 docker volume ls
  • 格式

    # docker volume ls [OPTIONS]
    docker volume create redis-vol
    docker volume create mongo-vol
    docker volume ls
    # filter supported dangling(boolean -true or false,0 or 1)|driver|label(label=<key> or label=<key>=<val>)|name
    # dangling:孤立的
    docker run -d -name test_bb -v tyler:/tmpwork busybox
    docker volume ls -f dangling=true
    docker rm test_bb
    docker volume ls -f dangling=true
    #
    docker volume ls -f driver=local
    # label
    docker volume create the-doctor --label is-timelord=yes
    docker volume create daleks --label is-timelord=no
    docker volume ls --filter label=is-timelord
    docker volume ls -f label=is-timelord=yes
    docker volume ls -f label=is-timelord=yes -f label=is-timelord=no
    # name
    docker volume ls -f name=redis-vol
    # formatting  .Name|.Driver|.Scope|.Mountpoint|.Labels|.Label|
    docker volume ls --format "{{.Name}}:{{Driver}}"
    
  • 选项

    1. -f,--filter
    2. --format
    3. -q,quiet 只显示卷名称
# 2.4 docker volume inspect
  • 格式

    # docker volume inspect [OPTIONS] VOLUME[VOLUME...]
    docker volume create my-volume
    docker volume inspect my-volume
    docker volume inspect -f "{{.Mountpoint}}" my-volume
    
    
  • 选项

    1. -f,--format
# 2.5 docker volume prune
  • 格式

    # docker volume prune [OPTIONS]
    docker volume prune
    
    
  • 选项

    1. --filter
    2. -f,--filter